GtkDirectionType direction);
static void gtk_label_realize (GtkWidget *widget);
+static void gtk_label_unrealize (GtkWidget *widget);
static void gtk_label_unmap (GtkWidget *widget);
static void gtk_label_motion (GtkEventControllerMotion *controller,
widget_class->query_tooltip = gtk_label_query_tooltip;
widget_class->snapshot = gtk_label_snapshot;
widget_class->realize = gtk_label_realize;
+ widget_class->unrealize = gtk_label_unrealize;
widget_class->unmap = gtk_label_unmap;
widget_class->hierarchy_changed = gtk_label_hierarchy_changed;
widget_class->display_changed = gtk_label_display_changed;
gtk_label_set_selectable_hint (label);
}
+static void
+gtk_label_unrealize (GtkWidget *widget)
+{
+ GtkLabel *label = GTK_LABEL (widget);
+ GtkLabelPrivate *priv = gtk_label_get_instance_private (label);
+ GdkClipboard *clipboard;
+
+ clipboard = gtk_widget_get_primary_clipboard (widget);
+ if (priv->select_info &&
+ gdk_clipboard_get_content (clipboard) == priv->select_info->provider)
+ gdk_clipboard_set_content (clipboard, NULL);
+
+ GTK_WIDGET_CLASS (gtk_label_parent_class)->unrealize (widget);
+}
+
static void
gtk_label_unmap (GtkWidget *widget)
{